home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 3
/
Gold Medal Software - Volume 3 (Gold Medal) (1994).iso
/
bbsutils
/
doorunr.arj
/
OPENDOOR.PPE
(
.txt
)
< prev
Wrap
PCBoard Programming Language Executable
|
1994-02-28
|
10KB
|
392 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer TINTEGER001(78,2)
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
String STRING001
String TSTRING002(78)
;------------------------------------------------------------------------------
INTEGER005 = 77
INTEGER003 = 0
INTEGER002 = 0
TINTEGER001(0, 0) = 4
TINTEGER001(0, 1) = 9
TINTEGER001(1, 0) = 4
TINTEGER001(1, 1) = 10
TINTEGER001(2, 0) = 4
TINTEGER001(2, 1) = 11
TINTEGER001(3, 0) = 4
TINTEGER001(3, 1) = 12
TINTEGER001(4, 0) = 4
TINTEGER001(4, 1) = 13
TINTEGER001(5, 0) = 4
TINTEGER001(5, 1) = 14
TINTEGER001(6, 0) = 4
TINTEGER001(6, 1) = 15
TINTEGER001(7, 0) = 4
TINTEGER001(7, 1) = 16
TINTEGER001(8, 0) = 4
TINTEGER001(8, 1) = 17
TINTEGER001(9, 0) = 4
TINTEGER001(9, 1) = 18
TINTEGER001(10, 0) = 4
TINTEGER001(10, 1) = 19
TINTEGER001(11, 0) = 4
TINTEGER001(11, 1) = 20
TINTEGER001(12, 0) = 4
TINTEGER001(12, 1) = 21
TINTEGER001(13, 0) = 17
TINTEGER001(13, 1) = 9
TINTEGER001(14, 0) = 17
TINTEGER001(14, 1) = 10
TINTEGER001(15, 0) = 17
TINTEGER001(15, 1) = 11
TINTEGER001(16, 0) = 17
TINTEGER001(16, 1) = 12
TINTEGER001(17, 0) = 17
TINTEGER001(17, 1) = 13
TINTEGER001(18, 0) = 17
TINTEGER001(18, 1) = 14
TINTEGER001(19, 0) = 17
TINTEGER001(19, 1) = 15
TINTEGER001(20, 0) = 17
TINTEGER001(20, 1) = 16
TINTEGER001(21, 0) = 17
TINTEGER001(21, 1) = 17
TINTEGER001(22, 0) = 17
TINTEGER001(22, 1) = 18
TINTEGER001(23, 0) = 17
TINTEGER001(23, 1) = 19
TINTEGER001(24, 0) = 17
TINTEGER001(24, 1) = 20
TINTEGER001(25, 0) = 17
TINTEGER001(25, 1) = 21
TINTEGER001(26, 0) = 30
TINTEGER001(26, 1) = 9
TINTEGER001(27, 0) = 30
TINTEGER001(27, 1) = 10
TINTEGER001(28, 0) = 30
TINTEGER001(28, 1) = 11
TINTEGER001(29, 0) = 30
TINTEGER001(29, 1) = 12
TINTEGER001(30, 0) = 30
TINTEGER001(30, 1) = 13
TINTEGER001(31, 0) = 30
TINTEGER001(31, 1) = 14
TINTEGER001(32, 0) = 30
TINTEGER001(32, 1) = 15
TINTEGER001(33, 0) = 30
TINTEGER001(33, 1) = 16
TINTEGER001(34, 0) = 30
TINTEGER001(34, 1) = 17
TINTEGER001(35, 0) = 30
TINTEGER001(35, 1) = 18
TINTEGER001(36, 0) = 30
TINTEGER001(36, 1) = 19
TINTEGER001(37, 0) = 30
TINTEGER001(37, 1) = 20
TINTEGER001(38, 0) = 30
TINTEGER001(38, 1) = 21
TINTEGER001(39, 0) = 43
TINTEGER001(39, 1) = 9
TINTEGER001(40, 0) = 43
TINTEGER001(40, 1) = 10
TINTEGER001(41, 0) = 43
TINTEGER001(41, 1) = 11
TINTEGER001(42, 0) = 43
TINTEGER001(42, 1) = 12
TINTEGER001(43, 0) = 43
TINTEGER001(43, 1) = 13
TINTEGER001(44, 0) = 43
TINTEGER001(44, 1) = 14
TINTEGER001(45, 0) = 43
TINTEGER001(45, 1) = 15
TINTEGER001(46, 0) = 43
TINTEGER001(46, 1) = 16
TINTEGER001(47, 0) = 43
TINTEGER001(47, 1) = 17
TINTEGER001(48, 0) = 43
TINTEGER001(48, 1) = 18
TINTEGER001(49, 0) = 43
TINTEGER001(49, 1) = 19
TINTEGER001(50, 0) = 43
TINTEGER001(50, 1) = 20
TINTEGER001(51, 0) = 43
TINTEGER001(51, 1) = 21
TINTEGER001(52, 0) = 56
TINTEGER001(52, 1) = 9
TINTEGER001(53, 0) = 56
TINTEGER001(53, 1) = 10
TINTEGER001(54, 0) = 56
TINTEGER001(54, 1) = 11
TINTEGER001(55, 0) = 56
TINTEGER001(55, 1) = 12
TINTEGER001(56, 0) = 56
TINTEGER001(56, 1) = 13
TINTEGER001(57, 0) = 56
TINTEGER001(57, 1) = 14
TINTEGER001(58, 0) = 56
TINTEGER001(58, 1) = 15
TINTEGER001(59, 0) = 56
TINTEGER001(59, 1) = 16
TINTEGER001(60, 0) = 56
TINTEGER001(60, 1) = 17
TINTEGER001(61, 0) = 56
TINTEGER001(61, 1) = 18
TINTEGER001(62, 0) = 56
TINTEGER001(62, 1) = 19
TINTEGER001(63, 0) = 56
TINTEGER001(63, 1) = 20
TINTEGER001(64, 0) = 56
TINTEGER001(64, 1) = 21
TINTEGER001(65, 0) = 69
TINTEGER001(65, 1) = 9
TINTEGER001(66, 0) = 69
TINTEGER001(66, 1) = 10
TINTEGER001(67, 0) = 69
TINTEGER001(67, 1) = 11
TINTEGER001(68, 0) = 69
TINTEGER001(68, 1) = 12
TINTEGER001(69, 0) = 69
TINTEGER001(69, 1) = 13
TINTEGER001(70, 0) = 69
TINTEGER001(70, 1) = 14
TINTEGER001(71, 0) = 69
TINTEGER001(71, 1) = 15
TINTEGER001(72, 0) = 69
TINTEGER001(72, 1) = 16
TINTEGER001(73, 0) = 69
TINTEGER001(73, 1) = 17
TINTEGER001(74, 0) = 69
TINTEGER001(74, 1) = 18
TINTEGER001(75, 0) = 69
TINTEGER001(75, 1) = 19
TINTEGER001(76, 0) = 69
TINTEGER001(76, 1) = 20
TINTEGER001(77, 0) = 69
TINTEGER001(77, 1) = 21
Log "OPENDOOR PPE: entered", 0
If (TokCount() == 0) Then
Print "@X02OPENDOOR: .CFG path not specified, exiting..."
Log "OPENDOOR: .CFG path not specified, exiting...", 0
Else
STRING001 = GetToken()
FOpen 1, PPEPath() + STRING001, 0, 0
If (Ferr(1)) Then
Print "@X02OPENDOOR: could not open " + STRING001 + ", exiting..."
Log "OPENDOOR: could not open " + STRING001 + ", exiting...", 0
Else
INTEGER004 = 0
FGet 1, TSTRING002(INTEGER004)
:LABEL001
If (Ferr(1)) Goto LABEL002
Inc INTEGER004
FGet 1, TSTRING002(INTEGER004)
Goto LABEL001
:LABEL002
If (Ferr(1)) Then
Print "@X02OPENDOOR: error reading OPENDOOR.CFG, exiting..."
Log "OPENDOOR: error reading OPENDOOR.CFG, exiting...", 0
Else
Gosub LABEL008
Gosub LABEL009
Gosub LABEL005
While (INTEGER003 <> 1) Do
STRING001 = ""
STRING001 = Inkey()
If (Left(STRING001, 4) == "DOWN") Then
Gosub LABEL006
Inc INTEGER002
If (INTEGER002 > INTEGER005) INTEGER002 = 0
Gosub LABEL005
Continue
Endif
If (Left(STRING001, 2) == "UP") Then
Gosub LABEL006
Dec INTEGER002
If (INTEGER002 < 0) INTEGER002 = INTEGER005
Gosub LABEL005
Continue
Endif
If (Left(STRING001, 5) == "RIGHT") Then
Gosub LABEL006
If (INTEGER002 + 13 > INTEGER005) Then
INTEGER002 = INTEGER002 + 13 - INTEGER005 - 1
Goto LABEL003
Endif
INTEGER002 = INTEGER002 + 13
:LABEL003
Gosub LABEL005
Continue
Endif
If (Left(STRING001, 4) == "LEFT") Then
Gosub LABEL006
If (INTEGER002 - 13 < 0) Then
INTEGER002 = INTEGER005 + INTEGER002 - 13 + 1
Goto LABEL004
Endif
INTEGER002 = INTEGER002 - 13
:LABEL004
Gosub LABEL005
Continue
Endif
If (STRING001 == Chr(13)) Then
Gosub LABEL007
INTEGER003 = 1
Continue
Endif
If ((STRING001 == "Q") || (STRING001 == "q")) Then
INTEGER003 = 1
Endif
EndWhile
Endif
Endif
Endif
Color 15
Print "@CLS@"
FClose 1
Log "OPENDOOR PPE: exited", 0
End
:LABEL005
STRING001 = ScrText(TINTEGER001(INTEGER002, 0), TINTEGER001(INTEGER002, 1), 8, 0)
STRING001 = Strip(STRING001, " ")
AnsiPos TINTEGER001(INTEGER002, 0), TINTEGER001(INTEGER002, 1)
Color 48
If (STRING001 == "") Then
Print "QUIT"
Else
Print STRING001
Endif
AnsiPos TINTEGER001(INTEGER002, 0), TINTEGER001(INTEGER002, 1)
Return
:LABEL006
STRING001 = ScrText(TINTEGER001(INTEGER002, 0), TINTEGER001(INTEGER002, 1), 8, 0)
STRING001 = Strip(STRING001, " ")
AnsiPos TINTEGER001(INTEGER002, 0), TINTEGER001(INTEGER002, 1)
Color 59
If (STRING001 == "QUIT") Then
Print " "
Else
Print STRING001
Endif
Return
:LABEL007
If (TSTRING002(INTEGER002) <> "QUIT") KbdString TSTRING002(INTEGER002) + Chr(13)
Return
:LABEL008
PrintLn "@POFF@@CLS@@X07@X0B▐@X3B┌───────────────────────────────────────────────────────────────────────────@X30┐@X08▌"
PrintLn "@X0B▐@X3B│ @X3EOPENDOOR.PPE ■ COPYRIGHT 1994 ROBERT BROWER ■ THIS COPY IS @XBEUNREGISTERED @X30│@X08▌"
PrintLn "@X0B▐@X3B└@X30───────────────────────────────────────────────────────────────────────────┘@X08▌"
PrintLn "@X0B▐@X3B┌───────────────────────────────────────────────────────────────────────────@X30┐@X08▌"
PrintLn "@X0B▐@X3B│ (@X39@X3B)MOVE UP (@X39@X3B)MOVE DOWN (@X39@X3B)MOVE LEFT (@X39@X3B)MOVE RIGHT (@X39Q@X3B)UIT (@X39ENTER@X3B)SELECT @X30│@X08▌"
PrintLn "@X0B▐@X3B└@X30───────────────────────────────────────────────────────────────────────────┘@X08▌"
PrintLn ""
PrintLn "@X0B ▐@X3B┌────────@X30┐@X08▌ @X0B▐@X3B┌────────@X30┐@X08▌ @X0B▐@X3B┌────────@X30┐@X08▌ @X0B▐@X3B┌────────@X30┐@X08▌ @X0B▐@X3B┌────────@X30┐@X08▌ @X0B▐@X3B┌────────@X30┐@X08▌"
PrintLn "@X0B ▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌"
PrintLn "@X0B ▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌"
PrintLn "@X0B ▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌"
PrintLn "@X0B ▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌"
PrintLn "@X0B ▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌"
PrintLn "@X0B ▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌"
PrintLn "@X0B ▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌"
PrintLn "@X0B ▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌"
PrintLn "@X0B ▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌"
PrintLn "@X0B ▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌"
PrintLn "@X0B ▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌"
PrintLn "@X0B ▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌"
PrintLn "@X0B ▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌ @X0B▐@X3B│ @X30│@X08▌"
PrintLn "@X0B ▐@X3B└@X30────────┘@X08▌ @X0B▐@X3B└@X30────────┘@X08▌ @X0B▐@X3B└@X30────────┘@X08▌ @X0B▐@X3B└@X30────────┘@X08▌ @X0B▐@X3B└@X30────────┘@X08▌ @X0B▐@X3B└@X30────────┘@X08▌"
Return
:LABEL009
Color 59
For INTEGER004 = 0 To INTEGER005
AnsiPos TINTEGER001(INTEGER004, 0), TINTEGER001(INTEGER004, 1)
Print TSTRING002(INTEGER004)
Next
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 4 Color
; 31 Goto
; 177 Let
; 9 Print
; 22 PrintLn
; 19 If
; 1 FOpen
; 1 FClose
; 2 FGet
; 5 Log
; 12 Gosub
; 5 Return
; 2 Inc
; 1 Dec
; 4 AnsiPos
; 1 KbdString
;
;
; ■ Functions used :
;
; 12 +
; 5 -
; 10 ==
; 2 <>
; 3 <
; 1 <=
; 2 >
; 2 >=
; 16 !
; 2 &&
; 2 ||
; 4 Left()
; 3 Ferr()
; 2 Chr()
; 2 Strip()
; 1 Inkey()
; 1 PPEPath()
; 1 GetToken()
; 1 TokCount()
; 2 ScrText()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 1 While/EndWhile
; 13 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------